package com.sikaryofficial.backend.domain.dto.resp;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.sikaryofficial.backend.domain.vo.mystatics.CollectionStatics;
import com.sikaryofficial.backend.domain.vo.mystatics.CommentsStatics;
import com.sikaryofficial.backend.domain.vo.mystatics.LikesStatics;
import com.sikaryofficial.backend.domain.vo.mystatics.ReportStatics;
import com.sikaryofficial.backend.domain.vo.mystatics.ReservationStatics;
import com.sikaryofficial.backend.domain.vo.mystatics.SharingStatics;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 我的统计对象
 *
 * @author qinjinyuan
 * @date 2023-11-06
 */
@Getter
@Setter
@ToString
@ApiModel(value = "我的统计出参", description = "我的统计出参")
public class MyStatisticsDTO {

    /**
     * 评论数量
     */
    @ApiModelProperty(value = "评论数量", hidden = true)
    @JsonIgnore
    private Long evaluateCount;

    /**
     * 评论回复数量
     */
    @ApiModelProperty(value = "评论回复数量", hidden = true)
    @JsonIgnore
    private Long replyCount;

    /**
     * 我的评论统计
     */
    @ApiModelProperty(value = "我的评论统计")
    private CommentsStatics comments;

    /**
     * 预约数量
     */
    @ApiModelProperty(value = "预约数量", hidden = true)
    @JsonIgnore
    private Long reservationCount;

    /**
     * 预约过期数量
     */
    @ApiModelProperty(value = "预约过期数量")
    @JsonIgnore
    private long expireCount;

    /**
     * 我的预约统计
     */
    @ApiModelProperty(value = "我的预约统计")
    private ReservationStatics reservation;

    /**
     * 产品收藏数量
     */
    @ApiModelProperty(value = "产品收藏数量", hidden = true)
    @JsonIgnore
    private Long productCollectionCount;

    /**
     * 店铺收藏数量
     */
    @ApiModelProperty(value = "店铺收藏数量", hidden = true)
    @JsonIgnore
    private Long storeCollectionCount;

    /**
     * 活动收藏数量
     */
    @ApiModelProperty(value = "活动收藏数量", hidden = true)
    @JsonIgnore
    private Long activityCollectionCount;

    /**
     * 我的收藏统计
     */
    @ApiModelProperty(value = "我的收藏统计")
    private CollectionStatics collection;

    /**
     * 分享评论数量
     */
    @ApiModelProperty(value = "分享评论数量", hidden = true)
    @JsonIgnore
    private Long storeSharedCount;

    /**
     * 分享评论数量
     */
    @ApiModelProperty(value = "分享产品数量", hidden = true)
    @JsonIgnore
    private Long productSharedCount;

    /**
     * 我的分享统计
     */
    @ApiModelProperty(value = "我的分享统计")
    private SharingStatics sharing;

    /**
     * 产品点赞数量
     */
    @ApiModelProperty(value = "产品点赞数量", hidden = true)
    @JsonIgnore
    private Long likesProductNum;

    /**
     * 评价点赞数量
     */
    @ApiModelProperty(value = "评价点赞数量", hidden = true)
    @JsonIgnore
    private Long likesEvaluateNum;

    /**
     * 我的点赞统计
     */
    @ApiModelProperty(value = "我的点赞统计")
    private LikesStatics like;

    /**
     * 举报数量
     */
    @ApiModelProperty(value = "举报数量", hidden = true)
    @JsonIgnore
    private Long reportCount;

    /**
     * 举报数量
     */
    @ApiModelProperty(value = "举报受理数量", hidden = true)
    @JsonIgnore
    private Long reportAcceptedCount;

    /**
     * 我的点赞统计
     */
    @ApiModelProperty(value = "我的举报统计")
    private ReportStatics report;

}
